$(function(){
    redis_query_init();
});
/**
 * 初始化方法
 */
function redis_query_init(){
    /////////////////////////////////下拉列表/////////////////////////
    $('.selectpicker').selectpicker();
    ////////////////////////初始化页面元素事件  start/////////////////////"
    common.timeselectInit($("#btn-time"),redis_query_updateData);//初始化时间控件
    $("#btn-query").click(function(){
        redis_query_updateData();
    });

    $("#s_redis_count_type").change(function(){
        redis_query_updateData();
    });

    $("#s_redis_sort_type").change(function(){
        redis_query_updateData();
    });

    $("#btn-update-redis-string").click(function(){
        redis_query_updateRedisByStringType();
    });



    ////////////////////////初始化页面元素事件  end/////////////////////"
    //初始化系统树
    common.sysTreeInit($('#sys_tree'),redis_query_updateData,common.TYPE_METADATA_REDIS);

    ////////////////////////初始化表格  start/////////////////////
    $('#id_redis').bootstrapTable({
        data : [],
        pagination : true, //显示分页
        //	    onlyInfoPagination:true, // true 只显示总数 不显示分页
        //	    pageSize:5,              //设置当前页显示数目
        //	    pageList:[5,10,15,20,50],
        //	    showFooter:true,
        showRefresh : false, // 设置刷新按钮
        showToggle : true, //
        showColumns : true, //
        striped : true, //
        //	    escape:true,
        //	    showHeader:true,        //是否显示表头
        search : true, //是否显示搜索框
        toolbar : '#toolbar', //toolbar
        columns : [
            {
                field : 'grade',
                title : '操 作',
                align : 'center',
                formatter:function(value,row,index){
                    return [
                        '<a class="camera" href="javascript:void(0)" title="查询value">',
                        '<i class="glyphicon glyphicon-camera"></i>',
                        '</a>'
                    ].join('');
                },
                events:{
                    'click .camera': function (e, value, row, index) {
                        var redisType=row.redisType;
                        var redisKey=row.redisKey;
                        $.ajax({
                            type:"post",
                            url:"redis/redisValueQuery.action",
                            dataType:"json",
                            data:{
                                redisKey:redisKey,
                                redisType:redisType
                            },
                            success:function(data){
                                if("null"==data.value){
                                    common.warning("redisKey对应的值为空!");
                                    return;
                                }
                                if(redisType=="string"){
                                    $('#modal-redis-string').modal();
                                    $("#ipt-string").val(redisKey);
                                    $("#m_tt_b_string").val(data.value);
                                }else if(redisType=="list"){
                                    $('#modal-redis-list').modal();
                                    $("#ipt-list").val(redisKey);
                                    $('#tb-list').bootstrapTable('load', {data: data});
                                }else if(redisType=="hash"){
                                    $('#modal-redis-hash').modal();
                                    $("#ipt-hash").val(redisKey);
                                    $('#tb-hash').bootstrapTable('load', {data: data});
                                }
                            },
                            error:function(XMLHttpRequest, textStatus, errorThrown){
                                common.warning("未知异常!");
                            }
                        });
                    }
                }
            },
            {
                field : 'showTime',
                title : '时间',
                align : 'center',
                visible : true,
                sortable : true
            },
            {
                field : 'year',
                title : '年',
                align : 'center',
                visible : false,
                sortable : true
            },
            {
                field : 'month',
                title : '月',
                align : 'center',
                visible : false,
                sortable : true
            },
            {
                field : 'day',
                title : '日',
                align : 'center',
                visible : false,
                sortable : true
            },
            {
                field : 'sysId',
                title : '系统id',
                align : 'center',
                visible : false,
                sortable : true
            },
            {
                field : 'sysName',
                title : '系统名',
                align : 'center',
                visible : true,
                sortable : true
            },
            {
                field : 'l1Name',
                title : 'l1Name',
                align : 'center',
                visible : true,
                sortable : true
            },
            {
                field : 'l2Name',
                title : 'l2Name',
                align : 'center',
                visible : true,
                sortable : true
            },
            {
                field : 'l3Name',
                title : 'l3Name',
                align : 'center',
                visible : true,
                sortable : true
            },
            {
                field : 'redisKey',
                title : 'redisKey',
                align : 'center',
                visible : true,
                sortable : true
            },
            {
                field : 'timeout',
                title : 'timeout(s)',
                align : 'center',
                visible : true,
                sortable : true
            },
            {
                field : 'redisType',
                title : 'redisType',
                align : 'center',
                visible : true,
                sortable : true
            },
            {
                field : 'requestType',
                title : '请求类型',
                align : 'center',
                visible : false,
                sortable : true
            },
            {
                field : 'requestSize',
                title : '请求大小',
                align : 'center',
                visible : false,
                sortable : true
            },
            {
                field : 'host',
                title : '主机',
                align : 'center',
                visible : false,
                sortable : true
            }]
        //,
        //定义行单机事件
//        onClickRow:function(row,tr){
//
//        }
    });

    $('#tb-list').bootstrapTable({
        data : [],
        pagination : false, //显示分页
        showRefresh : false, // 设置刷新按钮
        showToggle : false, //
        showColumns : false, //
        striped : false, //
        search : false, //是否显示搜索框
        //toolbar : '#toolbar', //toolbar
        onDblClickRow:function(row,tr){
            var value=row.value;
            $('#m_tt_b_list').val(value);
        },
        columns : [
            {
                field : 'row',
                title : 'row',
                align : 'center',
                visible : true,
                sortable : true
            },
            {
                field : 'value',
                title : 'value',
                align : 'center',
                visible : true,
                sortable : true
            }]
    });

    $('#tb-hash').bootstrapTable({
        data : [],
        pagination : false, //显示分页
        showRefresh : false, // 设置刷新按钮
        showToggle : false, //
        showColumns : false, //
        striped : false, //
        search : false, //是否显示搜索框
        onDblClickRow:function(row,tr){
            var key=row.key;
            var value=row.value;
            $('#ipt-hash-key').val(key);
            $('#m_tt_b_hash').val(value);
        },
        //toolbar : '#toolbar', //toolbar
        columns : [
            {
                field : 'row',
                title : 'row',
                align : 'center',
                visible : true,
                sortable : true
            },
            {
                field : 'key',
                title : 'key',
                align : 'center',
                visible : true,
                sortable : true
            },
            {
                field : 'value',
                title : 'value',
                align : 'center',
                visible : true,
                sortable : true
            }]
    });


    ////////////////////////初始化表格  end/////////////////////
}
var sysName="";
var l1Name="";
var l2Name="";
var l3Name="";
function redis_query_updateData(sysNameOut,l1NameOut,l2NameOut,l3NameOut){
    if(sysNameOut!=undefined){
        sysName=sysNameOut;
    }
    if(l1NameOut!=undefined){
        l1Name=l1NameOut
    }
    if(l2NameOut!=undefined){
        l2Name=l2NameOut
    }
    if(l3NameOut!=undefined){
        l3Name=l3NameOut
    }
    var times=$('#btn-time').html();
    var queryKeyWord = $('#ip_keyWord').val();
    var count = $('#s_redis_count_type').val();
    var sort = $('#s_redis_sort_type').val();
    $.ajax({
        type:"post",
        url:"redis/redisQuery.action",
        dataType:"json",
        data:{
            sysName:sysName,
            l1Name:l1Name,
            l2Name:l2Name,
            l3Name:l3Name,
            times:times,
            queryKeyWord:queryKeyWord,
            count:count,
            sort:sort
        },
        success:function(data){
            var tbData=data.object;
            $('#id_redis').bootstrapTable('load', {data: tbData});
            var count=data.count;
            $("#id-record").html("共"+count+"条记录");
        },
        error:function(XMLHttpRequest, textStatus, errorThrown){
        }
    });
}

function redis_query_updateRedisByStringType(){
    var redisKey=$("#ipt-string").val();
    var redisValue=$("#m_tt_b_string").val();
    if(redisKey==""||redisKey==null){
        common.warning("redis key is null");
        return;
    }
    $.ajax({
        type:"post",
        url:"redis/redisValueUpdateByStringType.action",
        dataType:"text",
        data:{
            redisKey:redisKey,
            redisValue:redisValue
        },
        success:function(data){
            $('#modal-redis-string').modal('hide');
            if("success"==data){
                common.tips("修改成功!")
            }else{
                common.warning(data);
            }
        },
        error:function(XMLHttpRequest, textStatus, errorThrown){
            $('#modal-redis-string').modal('hide');
            common.warning("未知异常,请联系管理员!");
        }
    });
}
